package com.peak.distribution.service.agent;

import java.util.Map;

import com.peak.distribution.entity.agent.DisAgent;
import com.peak.distribution.enums.SmsType;

public interface DisAgentService {

	/**
	 * 获取当前登录的代理商
	 * @return Agent
	 */
	DisAgent getCurrentAgent();
	
	/**
	 * 只要登录的代理商的ID
	 * @return
	 */
	Integer getCurrentAgentId();

	/**
	 * 修改密码
	 * @param params:oldPwd, newPwd, newPwd2
	 */
	void changePassword(Map<String, Object> params);
	
	/**
	 * 重置密码
	 * @param params newPwd, newPwd2, captchaCode, mobileNo
	 */
	void resetPassword(Map<String, Object> params);
	
	/**
	 * 验证手机短信验证码的功能
	 * @param mobileNo 手机号码
	 * @param captchaCode 验证码
	 * @param smsType 短信类型
	 */
	void checkMobileCode(String mobileNo, String captchaCode, SmsType smsType);

	/**
	 * 添加下级代理
	 * @param map
	 * @param agent
	 */
	void addSubAgent(Map<String, Object> data, DisAgent parentAgent, boolean needModifyPassword);
	
	/**
	 * 更新代理信息
	 * @param data
	 * @param agent
	 */
	void updateAgentInfo(Map<String, Object> data, DisAgent agent);
}
